package bd.com.escenic.flexilunch.model;

/**
 * $URL: http://flexilunch.googlecode.com/svn/trunk/common/src/main/java/bd/com/escenic/flexilunch/model/UserImpl.java $
 * $Id: UserImpl.java 14 2009-06-03 09:39:19Z shihab.uddin@gmail.com $
 * $Date: 2009-06-03 09:39:19 +0000 (Wed, 03 Jun 2009) $
 * $Author: shihab.uddin@gmail.com $
 * $Revision: 14 $
 */

import java.util.Set;

/**
 * $Id: UserImpl.java 14 2009-06-03 09:39:19Z shihab.uddin@gmail.com $.
 *
 * @author <a href="mailto:shihab.uddin@gmail.com">Shihab Uddin</a>
 * @version $Revision: 14 $
 */
public class UserImpl extends AbstractEntity implements User {

  private String mEncryptedPassword;
  private String mFullName;
  private String mEmail;
  private Role mRole;
  private Set<Order> mOrders;
  private Set<Payment> mPayments;
  private Set<Cost> mCosts;
  private double mBalance;

  /**
   * {@inheritDoc}
   */
  @Override
  public final Type getType() {
    return Type.USER;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public String getEncryptedPassword() {
    return mEncryptedPassword;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public void setEncryptedPassword(final String pEncryptedPassword) {
    mEncryptedPassword = pEncryptedPassword;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public String getFullName() {
    return mFullName;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public void setFullName(final String pFullName) {
    mFullName = pFullName;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public String getEmail() {
    return mEmail;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public void setEmail(final String pEmail) {
    mEmail = pEmail;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public Role getRole() {
    return mRole;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public void setRole(final Role pRole) {
    mRole = pRole;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public Set<Order> getOrders() {
    return mOrders;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public void setOrders(final Set<Order> pOrders) {
    mOrders = pOrders;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public Set<Payment> getPayments() {
    return mPayments;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public void setPayments(final Set<Payment> pPayments) {
    mPayments = pPayments;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public Set<Cost> getCosts() {
    return mCosts;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public void setCosts(final Set<Cost> pCosts) {
    mCosts = pCosts;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public double getBalance() {
    return mBalance;
  }

  public void setBalance(final double pBalance) {
    mBalance = pBalance;
  }
}
